///******************** NG.Respate(C)  **********************************
//* 产品名称: Respate 科技
//* 文件名称: IO.c
//* 程序作者: 雷帕特公司(南宫子萍)
//* 程序版本: V1.1														   
//* 编制日期: 2019/1/29
//* 功能描述: 系统日志
//* QQ:	2085827949
//**********************************************************************/

//#include "lap_lib.h"

#if 0	//功能测试
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <pthread.h>
#include <semaphore.h>


char buff[100]={0};

sem_t sem;
int flag =  1;	//子线程退出标志位
 void fun(int a)
{
	while(flag)
	{	
		sem_wait(&sem);
		printf("接收字符：%s\n",buff);
		memset(buff,0,sizeof(buff));
	}
	
	return;
}


pthread_t th = -1;
/*********************************************************************************
** 函数名称: lap_treads
** 功能描述: 
** 输入参数:         
** 输出参数: None.
** 返回参数: return .
**********************************************************************************/
void lap_tread(void)
{
	int ret = -1;
	
	ret = pthread_create(&th,NULL,fun,NULL);
	if(ret != 0)
	{
		printf("pthread_create Err!\n");
		return;
	}
}



int main(void)
{
	//创建子线程
	lap_tread();

	//初始化信号量
	sem_init(&sem,0,0);
	
	while(1)
	{		
		scanf("%s",buff);
		if(!strncmp(buff,"end",5))
		{
			printf("退出系统ing....\n");
			break;
			
		}
		sem_post(&sem);
	}
	
	flag =0;
	sem_post(&sem);
	
	//回收子线程
	pthread_join(th,NULL);
	return 0;
}
#endif







																						 
